As mobile devices and mobile data devices become more complex, one option being introduced by device manufacturers is to include client software on the mobile device. Specifically, the mobile device manufacturer can create hardware and some software for the mobile device to operate. However, a different software maker can provide specialized software, such as e-mail applications, calendar applications and other data or non-data functionality.
In operation, the mobile device provides a platform for running the client software, which when integrated with the third party mobile device, provides an enhanced experience for the user.
Client software can, in some cases, be designed for a particular display orientation. For example, a typical device that the client resides on could have the display oriented in a landscape orientation over a keyboard. The device may expect to write to a display in this way and the addressing of output to the display is configured for this orientation.
If the client software is however provided on a device in which the display is oriented in a different orientation to that expected from the client, modifications to the client need to be made. One option is to change the client itself to accommodate the differently oriented display. This is however an onerous task and undesirable from a software creation perspective. A better solution is to provide a transformation function between the output from the client and the display in order to ensure that contents are displayed in the correct orientation.
Transformation functions often take a row of data from the first orientation and transfer it into a column in the second orientation. The problem with this is that it is relatively data intensive and can cause cache misses when the cache overflows. These cache misses require reloading of the data and delay the overall transformation.